<?php

class AOrdenMantenimiento {

    public function __construct(){
	}
	public function generarOrdenes(EFacade & $facade)
	{
		$docOM = & $facade->getDocumentRoot();
		$workflow = & $facade->getWorkflow();
		//$OMCh = & $docSLU->ordenMCheckListPrincipal;
		$usuario=NULL;
		//echo '<hr> >> Slu ',$docSLU;
		$ezpdo_= getManager();
		$mantenimiento = new PResultadoEvaluacionProtocolo;
		$mantenimiento->evaluacion($docOM,$docOM->metodo, $docOM->tipoHorario);
		$protocolo=$docOM->metodo;
		$etapas=$protocolo->etapas;
		$accionMantenimiento=$ezpdo_->create('MAccionMantenimiento');
		$docOM->genera=$accionMantenimiento;
		$j=0;
		$i=0;
		foreach($etapas as $etapa){
			$etapaEval=$mantenimiento->etapaEnEvaluacion[$j];
			$actividadMantenimiento=$ezpdo_->create('MActividadMantenimiento');
			$actividadProgramada=$ezpdo_->create('MActividadProgramada');
			$actividadMantenimiento->esEnPrograma=$actividadProgramada;
			$actividadMantenimiento->satisfaceA=$docOM;
			$docOM->genera->actividades[]=$actividadMantenimiento;
			$usoEquipos=$etapa->usoEquipos;
			$usoRepuestos=$etapa->usoRepuesto;
			$insumos = $etapa->insumos;
			$usoRecursoHumano=$etapa->usoRecursosHumanos;
			if(count($usoRecursoHumano)>0){
				
				$ordenTrabajo = $facade->session->create('DOrdenTrabajoAutomatica');	
				
				foreach($usoRecursoHumano as $u){
					$reservaEspecialidad=$ezpdo_->create('MReservaEspecializacion');
					$reservaEspecialidad->ordenMantenimiento=$docOM;
					$reservaEspecialidad->especializacionReservada=$u->especializacion;
					$reservaEspecialidad->fechaNecesidad=$etapaEval->fechaInicio;
					$reservaEspecialidad->fechaLiberacion=$etapaEval->fechaFin;
					$reservaEspecialidad->cantidad=$u->cantidadRecursoHumano;
					$reservaEspecialidad->ordenTrabajoAutomatica=$ordenTrabajo;
					$reservaEspecialidad->commit();
					$i++;
				}
				$ordenTrabajo->fechaInicioPlanificada=$etapaEval->fechaInicio;
				$ordenTrabajo->fechaFinPlanificada=$etapaEval->fechaFin;
				$docOM->ordenesTrabajo[]=$ordenTrabajo;
				$areaTrabajo=$ezpdo_->find('FROM MAreaTrabajo as t WHERE t.nombre=?','Mantenimiento');
				$ordenTrabajo->areaTrabajo=$docOM->areaTrabajo;
				$ordenTrabajo->recursoHumano=$usoRecursoHumano;
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflow($facade->session, $ordenTrabajo, & $role);
				$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),3);//tipo process
				$trans = $transSet->getTransByName('t1');
				$usuario=NULL;
				$newEfacade->fireTrans($trans, $usuario, "Crear",TRUE);
				//echo "<br><br>la wt es: ";
				$ordenTrabajo->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$ordenTrabajo->commit();//echo "<br><br> es:1 ";
				$ordenTrabajo->numero = $ordenTrabajo->getDocumentNumber();
				$ordenTrabajo->commit();
				
				
				unset($newEfacade);
			}
			$i=0;
			if(count($usoEquipos)>0){
				
				$solicitudPartes = $facade->session->create('DSolicitudPartesAutomatica');	
				$docOM->solicitudPartesAutomatica[]=$solicitudPartes;
				$areaTrabajo=$ezpdo_->find('FROM MAreaTrabajo as t WHERE t.nombre=?','Mantenimiento');
				$solicitudPartes->areaTrabajo=$areaTrabajo[0];
				$solicitudPartes->listaFuncionalidades=$usoEquipos;
				
				foreach($usoEquipos as $u){
					$reservaFuncionalidad=$ezpdo_->create('MReservaFuncionalidad');
					$reservaFuncionalidad->ordenMantenimiento=$docOM;
					$reservaFuncionalidad->funcionalidadReservada=$u->funcionalidad;
					$reservaFuncionalidad->fechaNecesidad=$etapaEval->fechaInicio;
					$reservaFuncionalidad->fechaLiberacion=$etapaEval->fechaFin;
					$reservaFuncionalidad->cantidad=$u->cantidadEquipos;
					$reservaFuncionalidad->solicitudPartes=$solicitudPartes;
					$reservaFuncionalidad->commit();
					$i++;
				}
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflow($facade->session, $solicitudPartes, & $role);
				$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),3);//tipo process
				$trans = $transSet->getTransByName('t1');
				$usuario=NULL;
				$newEfacade->fireTrans($trans, $usuario, "Crear",TRUE);
				//echo "<br><br>la wt es: ";
				$solicitudPartes->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$solicitudPartes->commit();//echo "<br><br> es:1 ";
				$solicitudPartes->numero = $solicitudPartes->getDocumentNumber();
				$solicitudPartes->commit();
				
				
				unset($newEfacade);
			}
			$i=0;
			if(count($usoRepuestos)>0){
				if($docOM->ordenInspeccion==NULL){
					$equipo=$docOM->solicitudMantenimiento->equipoAMantener;
				}
				else{
					$equipo=$docOM->ordenInspeccion->requerimientoOriginal->equipoAMantener;
				}
				$solicitudRepuestos = $facade->session->create('DSolicitudRepuestosAutomatica');	
				$docOM->solicitudRepuestos[]=$solicitudRepuestos;
				$areaTrabajo=$ezpdo_->find('FROM MAreaTrabajo as t WHERE t.nombre=?','Mantenimiento');
				$solicitudRepuestos->areaTrabajo=$areaTrabajo[0];
				$solicitudRepuestos->usoRepuesto=$usoRepuestos;
				$solicitudRepuestos->equipoAsociado=$equipo;
				
				foreach($usoRepuestos as $u){
					$reservaRepuestos=$ezpdo_->create('MReservaRepuesto');
					$reservaRepuestos->paraRequerimiento=$docOM;
					$reservaRepuestos->equipoReservado=$u->equipo;
					$reservaRepuestos->fechaNecesidad=$etapaEval->fechaInicio;
					$reservaRepuestos->fechaLiberacion=$etapaEval->fechaFin;
					$reservaRepuestos->cantidad=$u->cantidadRepuestos;
					$reservaRepuestos->solicitud=$solicitudRepuestos;
					$reservaRepuestos->commit();
					$i++;
				}
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflow($facade->session, $solicitudRepuestos, & $role);
				$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),3);//tipo process
				$trans = $transSet->getTransByName('t1');
				$usuario=NULL;
				$newEfacade->fireTrans($trans, $usuario, "Crear",TRUE);
				//echo "<br><br>la wt es: ";
				$solicitudRepuestos->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$solicitudRepuestos->commit();//echo "<br><br> es:1 ";
				$solicitudRepuestos->numero = $solicitudRepuestos->getDocumentNumber();
				$solicitudRepuestos->commit();
				
				
				unset($newEfacade);
			}
			$j++;
			
			
			if(count($insumos)>0){
				
				$despachoConsumibles = $facade->session->create('DOrdenDespachoConsumibles');	
				$docOM->despachoConsumibles[]=$despachoConsumibles;
				$areaTrabajo=$ezpdo_->find('FROM MAreaTrabajo as t WHERE t.nombre=?','Mantenimiento');
				$despachoConsumibles->areaTrabajo=$areaTrabajo[0];
				$despachoConsumibles->insumo = $insumos;
				
				foreach($insumos as $u){
					$reservaProducto = $ezpdo_->create('MReservaProducto');
					$reservaProducto->ordenMantenimiento = $docOM;
					$reservaProducto->productoReservado = $u->producto->producto->productos[0];
					$reservaProducto->fechaNecesidad=$etapaEval->fechaInicio;
					//$reservaProducto->fechaLiberacion=$etapaEval->fechaFin;
					$reservaProducto->cantidad=$u->cantidad;
					$reservaProducto->ordenDespachoConsumibles = $despachoConsumibles;
					$reservaProducto->commit();
					$i++;
				}
				
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflow($facade->session, $despachoConsumibles, & $role);
				$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),3);//tipo process
				$trans = $transSet->getTransByName('t1');
				$usuario=NULL;
				$newEfacade->fireTrans($trans, $usuario, "Crear",TRUE);
				//echo "<br><br>la wt es: ";
				$despachoConsumibles->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$despachoConsumibles->commit();//echo "<br><br> es:1 ";
				$despachoConsumibles->numero = $despachoConsumibles->getDocumentNumber();
				$despachoConsumibles->commit();
				
				
				unset($newEfacade);
			}
		}

		$usuario=NULL;
		////////////////////////////////////////////////////////////////////////
		////////////////////////////////////////////////////////////////////////
		$docOM ->epSetDirty(TRUE);
		
		$workflowsSM = & $facade->getWorkflow();
		$workflowsSM ->epSetDirty(TRUE);

		$transSetOSL = & EFacade :: getCurrentTransSetAuto($workflowsSM , /* MTrans :: $TYPE_AUTO_AGENT */ 2);
		$listaWT= &$workflowsSM->getWorkTransList();

		$transOSL = $transSetOSL->getTransByName('t9');
		$facade->fireTrans($transOSL,$usuario,'Creacion de Ordenes', TRUE);	
			
		
	}
	
		public function abortarOrdenes(EFacade & $facade)
	{
		$docOM = & $facade->getDocumentRoot();
		$workflow = & $facade->getWorkflow();
		//$OMCh = & $docSLU->ordenMCheckListPrincipal;
		$usuario=NULL;
		//echo '<hr> >> Slu ',$docSLU;
		$ezpdo_= getManager();
		
		$ordenesTrabajo=$docOM->ordenesTrabajo;
		$solicitudesPartes=$docOM->solicitudPartesAutomatica;
		$solicitudesRepuestos = $docOM->solicitudRepuestosAutomatica;
		$despachoConsumibles = $docOM->despachoConsumibles;
		
		if(count($ordenesTrabajo)>0 || $ordenesTrabajo!=NULL){
			foreach($ordenesTrabajo as $orden){
				$workflow = & $orden->getWorkflowRef();
				$facade->session->refresh($workflow);
				
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflowWithoutRole($facade->session, $orden, & $role);
				
				$transSet = & EFacade :: getCurrentTransSetAuto($workflow, /*PROCESS */ 3);
				if($transSet!=NULL){
					$trans = $transSet->getTransByName('t6');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				
				if($trans==NULL){
					$trans = $transSet->getTransByName('t7');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				}}
				
				
//				$usuario=NULL;
//				$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				//echo "<br><br>la wt es: ";
				$orden->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$orden->commit();//echo "<br><br> es:1 ";
			}
		}
		
		if(count($solicitudesPartes)>0 || $solicitudesPartes!=NULL){
			foreach($solicitudesPartes as $orden1){
				$workflow1 = & $orden1->getWorkflowRef();
				$facade->session->refresh($workflow1);
				
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflowWithoutRole($facade->session, $orden1, & $role);
				
				$transSet = & EFacade :: getCurrentTransSetAuto(/*$workflow*/$newEfacade->getWorkflow(), /*PROCESS */ 3);
				if($transSet!=NULL){
					$trans = $transSet->getTransByName('t6');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				if($trans==NULL){
					$trans = $transSet->getTransByName('t4');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				}
				}
				
				
//				$usuario=NULL;
//				$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				//echo "<br><br>la wt es: ";
				$orden1->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$orden1->commit();//echo "<br><br> es:1 ";
				
				unset($newEfacade);
			}
		}
		
		
		if(count($solicitudesRepuestos)>0 || $solicitudesRepuestos!=NULL){
			foreach($solicitudesRepuestos as $orden2){
				$workflow1 = & $orden2->getWorkflowRef();
				$facade->session->refresh($workflow1);
				
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflowWithoutRole($facade->session, $orden2, & $role);
				
				$transSet = & EFacade :: getCurrentTransSetAuto(/*$workflow*/$newEfacade->getWorkflow(), /*PROCESS */ 3);
				if($transSet!=NULL){
					$trans = $transSet->getTransByName('t6');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				if($trans==NULL){
					$trans = $transSet->getTransByName('t7');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				}
				}
				
				
//				$usuario=NULL;
//				$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				//echo "<br><br>la wt es: ";
				$orden2->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$orden2->commit();//echo "<br><br> es:1 ";
				
				unset($newEfacade);
			}
		}
		
		
		if(count($despachoConsumibles)>0 || $despachoConsumibles!=NULL){
			foreach($despachoConsumibles as $orden3){
				$workflow1 = & $orden3->getWorkflowRef();
				$facade->session->refresh($workflow1);
				
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflowWithoutRole($facade->session, $orden3, & $role);
				
				$transSet = & EFacade :: getCurrentTransSetAuto(/*$workflow*/$newEfacade->getWorkflow(), /*PROCESS */ 3);
				if($transSet!=NULL){
					$trans = $transSet->getTransByName('t8');
					$usuario=NULL;
					$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				if($trans==NULL){
					if($trans = $transSet->getTransByName('t9')){
						$usuario=NULL;
						$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				
					}					
					else{
						if($trans = $transSet->getTransByName('t10')){
							$usuario=NULL;
							$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
						}
						else{
							$trans = $transSet->getTransByName('t11');
							$usuario=NULL;
							$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
						}
					}
				}
			}
				
//				$usuario=NULL;
//				$newEfacade->fireTrans($trans, $usuario, "Abortar",TRUE);
				//echo "<br><br>la wt es: ";
				$orden3->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$orden3->commit();//echo "<br><br> es:1 ";
				
				unset($newEfacade);
			}
		}
		
		$usuario=NULL;
		////////////////////////////////////////////////////////////////////////
		////////////////////////////////////////////////////////////////////////
		$docOM ->epSetDirty(TRUE);
		$workflowOM = & $docOM->getWorkflowRef();
		
		//echo "<br><br>workflowsSM",$workflowsSM = & $facade->getWorkflow();
		$workflowOM ->epSetDirty(TRUE);

		$transSetOSL = & EFacade :: getCurrentTransSetAuto($workflowOM , /* MTrans :: $TYPE_AUTO_AGENT */ 2);
		$listaWT= &$workflowOM->getWorkTransList();

		$transOSL = $transSetOSL->getTransByName('t11');
		$facade->fireTrans($transOSL,$usuario,'Abortar Ordenes', TRUE);	
		
		
	}
	
	
		public function cuentaOrdenes(EFacade & $facade) 
	{	
		$docOM = & $facade->getDocumentRoot();
		
		$workflow = & $facade->getWorkflow();
		//$OMCh = & $docSLU->ordenMCheckListPrincipal;
		$usuario=NULL;
		//echo '<hr> >> Slu ',$docSLU;
		$ezpdo_= getManager();
		
		$ordenesTrabajo=$docOM->ordenesTrabajo;
		$solicitudesPartes=$docOM->solicitudPartesAutomatica;
		$cont=0;
		
		if(count($ordenesTrabajo)>0 || $ordenesTrabajo!=NULL){
			foreach($ordenesTrabajo as $orden){
				$cont++;
			}
		}
		if(count($solicitudesPartes)>0 ||$solicitudesPartes!=NULL){
			foreach($solicitudesPartes as $solicitud){
				$cont++;
			}
		}
		if($cont==1){
			
			$transSetSA = & EFacade :: getCurrentTransSetAuto($workflow, 2); //TYPE AUTO AGENT
			$role=NULL;
			$transSA = $transSetSA->getTransByName('t14');
			$facade->fireTrans($transSA,$role,'Culmina Requisicion', TRUE);
			
		}
		else if($cont>0){
			//echo "aun faltan items";
			
			//echo "<hr>workflowSA: ",$workflowSA;
			$transSetSA = & EFacade :: getCurrentTransSetAuto($workflow, 2); //TYPE AUTO AGENT
			$role=NULL;
			$transSA = $transSetSA->getTransByName('t13');
			$facade->fireTrans($transSA,$role,'Esperar por dem&aacute;s ordenes', TRUE);
			
		}
		
	}
	
		public function evaluarOrdenes(EFacade & $facade) 
		{	
			$docOM = & $facade->getDocumentRoot();
			
			$workflow = & $facade->getWorkflow();
			//$OMCh = & $docSLU->ordenMCheckListPrincipal;
			$usuario=NULL;
			//echo '<hr> >> Slu ',$docSLU;
			$ezpdo_= getManager();
		
			$ordenesTrabajo=$docOM->ordenesTrabajo;
			$solicitudesPartes=$docOM->solicitudPartesAutomatica;
			$numOrdenes=count($ordenesTrabajo);
			$numSolicitudes=count($solicitudesPartes);
			$contSolicitudes=0;
			$contOrdenes=0;
			if($numOrdenes>0 || $ordenesTrabajo!=NULL){
				foreach($ordenesTrabajo as $orden){
					$placeSet = & EFacade :: getCurrentPlaceSet($orden->getWorkflowRef());
					$place=$placeSet->placeStateList[0]->placeRef->name;
					if($place=='p5'){
						$contOrdenes++;
					}
					
				}
			}
			if($numSolicitudes>0 || $solicitudesPartes!=NULL){
				foreach($solicitudesPartes as $solicitud){
					$placeSet = & EFacade :: getCurrentPlaceSet($solicitud->getWorkflowRef());
					$place=$placeSet->placeStateList[0]->placeRef->name;
					if($place=='p5'){
						$contSolicitudes++;
					}
				}
			}
			
			if($numOrdenes==$contOrdenes && $numSolicitudes==$contSolicitudes ){
				$transSetSA = & EFacade :: getCurrentTransSetAuto($workflow, 2); //TYPE AUTO AGENT
				$role=NULL;
				$transSA = $transSetSA->getTransByName('t17');
				$facade->fireTrans($transSA,$role,'Culmina Requisicion', TRUE);
				
			}else{
				$transSetSA = & EFacade :: getCurrentTransSetAuto($workflow, 2); //TYPE AUTO AGENT
				$role=NULL;
				$transSA = $transSetSA->getTransByName('t16');
				$facade->fireTrans($transSA,$role,'En espera de ordenes asociadas', TRUE);
				
				
			}
			
			
			
			///////////////////////////////////////////////////////////////////////////////////////
		
	}
	
	////////////////////////////////////////////////////////////////////////////////////////
			public function generaPendiente(EFacade & $facade) 
		{	
			$docOM = & $facade->getDocumentRoot();
			
			$workflow = & $facade->getWorkflow();
			//$OMCh = & $docSLU->ordenMCheckListPrincipal;
			$usuario=NULL;
			//echo '<hr> >> Slu ',$docSLU;
			$ezpdo_= getManager();
		
			
				$solicitud = $facade->session->create('DSolicitudMantenimiento');	
				
				$areaTrabajo=$ezpdo_->find('FROM MAreaTrabajo as t WHERE t.nombre=?','Mantenimiento');
				$solicitud->areaTrabajo=$docOM->areaTrabajo;
				$tipoMantenamiento=$docOM->tipoMantenimiento;
				$nombreClase=$tipoMantenamiento->epGetClass();
				if($nombreClase=='MMantenimientoRutinario'){
					$lista=$ezpdo_->create('MListaMantenimientoRutinario');
					$lista->mantenimientoRutinario=$tipoMantenamiento;
					$lista->pendiente=TRUE;
					$solicitud->mantenimientoRutinario=$lista;
				}
				if($nombreClase=='MMantenimientoPreventivo'){
					$lista=$ezpdo_->create('MListaMantenimientoPreventivo');
					$lista->mantenimientoPreventivo=$tipoMantenamiento;
					$lista->pendiente=TRUE;
					$solicitud->mantenimientoPreventivo=$lista;
				}
				if($nombreClase=='MMantenimientoCorrectivo'){
					$lista=$ezpdo_->create('MListaMantenimientoCorrectivo');
					$lista->mantenimientoCorrectivo=$tipoMantenamiento;
					$lista->pendiente=TRUE;
					$solicitud->mantenimientoCorrectivo=$lista;
				}
				if($docOM-solicitudMantenimiento){
					$equipo=$docOM->solicitudMantenimiento->equipoAMantener;
				}
				else{
					$equipo=$docOM->ordenInspeccion->requerimientoOriginal->equipoAMantener;
				}
				$solicitud->equipoAMantener=$equipo;
				$role=NULL;
				$newEfacade =& EFacade :: initWorkflow($facade->session, $solicitud, & $role);
				$transSet = & EFacade :: getCurrentTransSetAuto($newEfacade->getWorkflow(),3);//tipo process
				$trans = $transSet->getTransByName('t1');
				$usuario=NULL;
				$newEfacade->fireTrans($trans, $usuario, "Crear",TRUE);
				//echo "<br><br>la wt es: ";
				$solicitud->epSetDirty(TRUE);// marcar el documento para que sea salvado los cambios
				$newEfacade->saveWorkflow();
				$solicitud->commit();//echo "<br><br> es:1 ";
				$solicitud->numero = $solicitud->getDocumentNumber();
				$solicitud->commit();
				
				
				unset($newEfacade);
				
				$usuario=NULL;
		////////////////////////////////////////////////////////////////////////
		////////////////////////////////////////////////////////////////////////
				$docOM ->epSetDirty(TRUE);
				$workflowOM = & $docOM->getWorkflowRef();
		
				//echo "<br><br>workflowsSM",$workflowsSM = & $facade->getWorkflow();
				$workflowOM ->epSetDirty(TRUE);

				$transSetOSL = & EFacade :: getCurrentTransSetAuto($workflowOM , /* MTrans :: $TYPE_AUTO_AGENT */ 2);
				$listaWT= &$workflowOM->getWorkTransList();

				$transOSL = $transSetOSL->getTransByName('t5');
				$facade->fireTrans($transOSL,$usuario,'Abortar', TRUE);	
			
			
			
			
			
			
			///////////////////////////////////////////////////////////////////////////////////////
		
	}
}
?>